处理string[]重复的问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 16:48:36
我现在有一个string是“1,2,2,4,4,4,2,5,5”,要把连续重复的合并再一起成为一个新的string“1,2:2,4:3,2,5:2”,(不连续的不合并在一起),应该怎么写代码啊?谢谢高手了
超级感谢wretchedlyp的代码,但是还是存在一个很烦的问题没有解决就是,你这样处理后print出的是“1,2:2,4:3,2,5:2,”,在这个string最后面还是多了一个“,”(逗号),还是有点小问题,麻烦再改改好吗,我会把分提高的

///////////////////////////////-_-!~

public class StringCon {

public static String conver(String line){
StringBuffer sb = new StringBuffer();
line += ",!";
String [] input = line.split(",+");
for(int i = 0; i < input.length - 1; i ++) {
int j = i + 1;
int time = 1;
for(;;) {
if(input[i].equals(input[j])) {
time ++;
i ++;
j ++;
continue;
} else {
break;
}
}
if(time == 1) {
sb.append(input[i] + ",");
} else {
sb.append(input[i] + ":" + time + ",");
}

}
return sb.toString().substring(0, sb.length() - 1);
}

public static void main(String [] args) {
String input = "1,2,2,4,4,4,2,5,5,6,6,2,2,2,2,2,3,3,2,2";
System.out.println(StringCon.conver(input));

}

}

//output:
1,2:2,4:3,2,5:2,6:2,2:5,3:2,2:2

<